package com.xzz.greedy;

/**
 * @author: hhz
 * @create: 2022-01-12 15:00
 * 55. 跳跃游戏
 * 给定一个非负整数数组 nums ，你最初位于数组的 第一个下标 。
 *
 * 数组中的每个元素代表你在该位置可以跳跃的最大长度。
 *
 * 判断你是否能够到达最后一个下标。
 **/
public class CanJump {
    public static void main(String[] args) {
//        System.out.println(canJump(new int[]{2,3,1,1,4}));
        System.out.println(canJump(new int[]{3,2,0,0,4}));
        System.out.println(canJump(new int[]{0}));
    }
    public static boolean canJump(int[] nums) {
        int res = 0;

        for (int i = 0; i < nums.length-1; i++) {
            res = Math.max(res,i+nums[i]);
            // 可能碰到了 0，卡住跳不动了
            if (res <= i) {
                return false;
            }

        }
        return res>=nums.length-1;

    }
}
